import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class TestJDBC {
    public static void main(String[] args) throws SQLException {
        // 1. 创建数据源 描述了你要操作的数据库, 在哪里
        // ip + 端口号 + 数据库名 来定位的
        // 127.0.0.1 是一个特殊的IP地址,叫做 换回 IP 表示本机
        // 一个主机上有很多端口号(服务), 用端口号来区分不同的程序  3306 是mysql默认的端口号
        DataSource datasource = new MysqlDataSource(); // 这种是为了解耦
        ((MysqlDataSource) datasource).setUrl("jdbc:mysql://127.0.0.1:3306/java110_2?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) datasource).setUser("root");
        ((MysqlDataSource) datasource).setPassword("123456");
        // 2. 此时数据源准备就绪
        Connection connection= datasource.getConnection();  // 建立连接

        // 3. 构建一个SQL
        String sql = "insert into student values(1,123456789, 'wuhan', '123123@163.com')";
        //  需要把String sql 转换成语句对象
        PreparedStatement statement = connection.prepareStatement(sql);

        // 4. 把构造好的SQL 发送给数据库
        int n = statement.executeUpdate();
        System.out.println(" n= " + n);

        // 5. 最后一步 释放一些必要的资源  (连接, 和语句 是需要释放的)
        statement.close();
        connection.close(); // 释放的顺序 和创建的顺序是相反的
    }
}
